package papacharly.encheres.model;
// Generated 12 mars 2011 11:05:58 by Hibernate Tools 3.2.1.GA


import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Categorie generated by hbm2java
 */
@Entity
@Table(name="categorie"
    ,catalog="PAPACHARLY"
)
public class Categorie  implements java.io.Serializable {


     private Integer idCategorie;
     private Categorie categorie;
     private String libelle;
     private Set<Categorie> categories = new HashSet<Categorie>(0);
     private Set<Produit> produits = new HashSet<Produit>(0);

    public Categorie() {
    }

	
    public Categorie(String libelle) {
        this.libelle = libelle;
    }
    public Categorie(Categorie categorie, String libelle, Set<Categorie> categories, Set<Produit> produits) {
       this.categorie = categorie;
       this.libelle = libelle;
       this.categories = categories;
       this.produits = produits;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)
    
    @Column(name="idCategorie", unique=true, nullable=false)
    public Integer getIdCategorie() {
        return this.idCategorie;
    }
    
    public void setIdCategorie(Integer idCategorie) {
        this.idCategorie = idCategorie;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idParent")
    public Categorie getCategorie() {
        return this.categorie;
    }
    
    public void setCategorie(Categorie categorie) {
        this.categorie = categorie;
    }
    
    @Column(name="libelle", nullable=false, length=25)
    public String getLibelle() {
        return this.libelle;
    }
    
    public void setLibelle(String libelle) {
        this.libelle = libelle;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="categorie")
    public Set<Categorie> getCategories() {
        return this.categories;
    }
    
    public void setCategories(Set<Categorie> categories) {
        this.categories = categories;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="categorie")
    public Set<Produit> getProduits() {
        return this.produits;
    }
    
    public void setProduits(Set<Produit> produits) {
        this.produits = produits;
    }




}


